package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <desc>
 * 演示版APP微信支付商户后台订单表
 * <desc/>
 *
 * @createDate 2018/4/18.
 */
@ItlTables("payment_trade")
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class PaymentTradePO extends BasePO implements Serializable {

    @ItlField(value = "trade_id",logicKey = "key")
    private String tradeId;   //商户订单ID

    @ItlField("pay_type")
    private Integer payType;   //支付方式：1微信支付

    @ItlField("goods_type")
    private Integer goodstype;   //商品类型：1余额充值

    @ItlField("goods_name")
    private String goodsName;   //商品名称

    @ItlField("goods_num")
    private Integer goodsNum;   //商品数量

    @ItlField("price")
    private BigDecimal price;       //单价 充值金额

    @ItlField("trade_status")
    private Integer tradeStatus;   //订单付款状态  1：待支付 2：成功支付 3：支付失败

    @ItlField("user_id")
    private String userId;   //用户id

    @ItlField("third_party_trade_id")
    private String transactionId;   //微信支付订单号

    @ItlField("fee_id")
    private String feeId;   //账单ID与property_payment_bill相关联

    @ItlField("success_return")
    private Integer successReturn;   //是否收到支付后的回调：0未收到 1收到

    @ItlField("success_time")
    private Date successTime;   //成功支付时间

    @ItlField("fee_type")
    private String feeType;   //缴费类型 1物业费 2维修费 3临时车缴费 4月卡缴费

    @ItlField("device_unique")
    private String deviceUnique;   //设备序列号

    @ItlField("mch_id")
    private String mchId;   //该订单支付去向的商户号

    @ItlField("room_id")
    private String roomId;   //房间编号

    private String projectId;   // 项目id，拓展在逻辑中使用，与数据库无关

    @ItlField("times")
    private String times;   //次数

    @ItlField("amount")
    private String amount;   //金额

}
